From: Colin Walters Date: Wed, 10 Aug 2011 16:58:40 +0000 (-0400) Subject: shell_util_normalize_and_casefold: New utility function X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~7960 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=c5de239e25b12464477aebac757ed768c7a359cc;p=gnome-shell.git shell_util_normalize_and_casefold: New utility function Merge the duplicated copies into shell-util. --- diff --git a/src/shell-app-system.c b/src/shell-app-system.c index 9808a2b69..1d8980004 100644 --- a/src/shell-app-system.c +++ b/src/shell-app-system.c @@ -15,6 +15,7 @@ #include "shell-app-private.h" #include "shell-window-tracker-private.h" #include "shell-global.h" +#include "shell-util.h" #include "st.h" /* Vendor prefixes are something that can be preprended to a .desktop @@ -619,20 +620,6 @@ sort_and_concat_results (ShellAppSystem *system, return g_slist_concat (multiple_prefix_matches, g_slist_concat (prefix_matches, g_slist_concat (multiple_substring_matches, substring_matches))); } -static char * -normalize_and_casefold (const char *str) -{ - char *normalized, *result; - - if (str == NULL) - return NULL; - - normalized = g_utf8_normalize (str, -1, G_NORMALIZE_ALL); - result = g_utf8_casefold (normalized, -1); - g_free (normalized); - return result; -} - /** * normalize_terms: * @terms: (element-type utf8): Input search terms @@ -647,7 +634,7 @@ normalize_terms (GSList *terms) for (iter = terms; iter; iter = iter->next) { const char *term = iter->data; - normalized_terms = g_slist_prepend (normalized_terms, normalize_and_casefold (term)); + normalized_terms = g_slist_prepend (normalized_terms, shell_util_normalize_and_casefold (term)); } return normalized_terms; } diff --git a/src/shell-app.c b/src/shell-app.c index 0f74716ec..c3380553f 100644 --- a/src/shell-app.c +++ b/src/shell-app.c @@ -11,6 +11,7 @@ #include "shell-app-private.h" #include "shell-enum-types.h" #include "shell-global.h" +#include "shell-util.h" #include "shell-window-tracker-private.h" #include "st.h" @@ -1125,20 +1126,6 @@ unref_running_state (ShellAppRunningState *state) g_slice_free (ShellAppRunningState, state); } -static char * -normalize_and_casefold (const char *str) -{ - char *normalized, *result; - - if (str == NULL) - return NULL; - - normalized = g_utf8_normalize (str, -1, G_NORMALIZE_ALL); - result = g_utf8_casefold (normalized, -1); - g_free (normalized); - return result; -} - static char * trim_exec_line (const char *str) { @@ -1166,13 +1153,13 @@ shell_app_init_search_data (ShellApp *app) appinfo = gmenu_tree_entry_get_app_info (app->entry); name = g_app_info_get_name (G_APP_INFO (appinfo)); - app->casefolded_name = normalize_and_casefold (name); + app->casefolded_name = shell_util_normalize_and_casefold (name); comment = g_app_info_get_description (G_APP_INFO (appinfo)); - app->casefolded_description = normalize_and_casefold (comment); + app->casefolded_description = shell_util_normalize_and_casefold (comment); exec = g_app_info_get_executable (G_APP_INFO (appinfo)); - normalized_exec = normalize_and_casefold (exec); + normalized_exec = shell_util_normalize_and_casefold (exec); app->casefolded_exec = trim_exec_line (normalized_exec); g_free (normalized_exec); } diff --git a/src/shell-util.c b/src/shell-util.c index 5e53ef240..e6af2ab0c 100644 --- a/src/shell-util.c +++ b/src/shell-util.c @@ -506,6 +506,20 @@ shell_util_get_transformed_allocation (ClutterActor *actor, box->y2 = y_max; } +char * +shell_util_normalize_and_casefold (const char *str) +{ + char *normalized, *result; + + if (str == NULL) + return NULL; + + normalized = g_utf8_normalize (str, -1, G_NORMALIZE_ALL); + result = g_utf8_casefold (normalized, -1); + g_free (normalized); + return result; +} + /** * shell_util_format_date: * @format: a strftime-style string format, as parsed by diff --git a/src/shell-util.h b/src/shell-util.h index fcfc6cc4e..7ff08917b 100644 --- a/src/shell-util.h +++ b/src/shell-util.h @@ -21,6 +21,9 @@ void shell_util_get_transformed_allocation (ClutterActor *actor, ClutterActorBox *box); int shell_util_get_week_start (void); + +char *shell_util_normalize_and_casefold (const char *str); + char *shell_util_format_date (const char *format, gint64 time_ms);